/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package control.accion;

import control.SIRHApp;
import entidad.Usuario;
import frontera.interfaz.panel.PanelBusqueda;
import frontera.interfaz.panel.resultados.PanelResultadosSeleccion;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

/**
 *
 * @author tuareg
 */
public class UsuarioEliminar extends AbstractAction implements PanelResultadosSeleccion<Usuario>{

    public UsuarioEliminar(PanelBusqueda<Usuario> padre) {
        super("ELIMINAR");
        this.padre = padre;
        putValue(Action.SMALL_ICON, new ImageIcon(getClass().getResource("/frontera/recursos/DelUsuarioSmall.png")));
        this.setEnabled(false);
    }



    public void actionPerformed(ActionEvent e) {
        for (Usuario c : padre.getSeleccionActual())
        {
            String str = "¿Desea eliminar el usuario con Nombre "+
               c.getNombre()+
                " del Sistema?";

            if (SIRHApp.getInstance().getAdmPermisos().getUsuario() == c){
                JOptionPane.showMessageDialog(padre, "Este es el usuario que se encuentre actualmente autenticado en el sistema. \n "
                        + "  No se podra eliminar mientras este usuario se encuentre autenticado.","Error",JOptionPane.ERROR_MESSAGE);
                return;
            }

            if(JOptionPane.showConfirmDialog(padre, str ,"Error",JOptionPane.WARNING_MESSAGE)==JOptionPane.OK_OPTION){

                SIRHApp.getInstance().getAdmUsuarios().eliminarUsuario(c);

            }
            SIRHApp.getInstance().getVentanaPrincipal().getPanelUsuarios().actualizarLista(SIRHApp.getInstance().getSistema().getUsuarios());
        }

        this.setEnabled(false);
    }

    private PanelBusqueda<Usuario> padre;

    public void elementosSeleccionados(ArrayList<Usuario> elementos) {
        this.setEnabled(true);
    }
}
